unit-testing - FluentNhibernate 和 SQLite
全部标签 这个问题在这里已经有了答案:Runningtestsandskippingsomepackages(1个回答)关闭3年前。gotest$(golist./...|grep-v/vendor/)-coverprofile.testCoverage.txt我正在使用上面的命令来测试文件,但是我想从测试中排除1个名为“Store”的文件夹。怎么做到的?
我正在个人助理应用程序中设置一个提醒功能。该应用程序接受提醒的详细信息作为html表单,其中还包括date和time输入字段。我正在使用golang创建我的服务器并使用它创建了一个sqlite数据库。但是表单中的日期和时间值不会保存在数据库中,而标题、描述等其他字段会被保存。我应该为sqlite数据库中的时间和日期字段使用什么数据类型?我试过使用TEXT作为日期和时间的数据类型,但它不起作用。输入形式:...DateTime...这是从表单生成的提醒对象:{title:"learngolang",description:"HowdoIsavedateandtimeindatabase?
每次调用或使用sqlite库时,我总是无法编译简单的Go代码。我使用go版本1.9.7和osxmojave(10.14.3)示例代码:packagemainimport("fmt""github.com/jmoiron/sqlx"_"github.com/mattn/go-sqlite3")funcmain(){fmt.Print("connecting.")db:=sqlx.MustConnect("sqlite3",":memory:")db.Ping()fmt.Print("connected")}总是出现这个错误#command-line-arguments/usr/local
我有一个表驱动测试和表循环外的initvar(worker)。我使用gotest-raсe运行测试并添加了t.Parallel()并且没有检测到竞争条件。我可以假设我的测试没有竞争条件吗://Thismockcouldbeinaseparatefile.typemockWorkerstruct{}//implmentourWorkeriterfacefunc(mdmockWorker)Work()error{returnnil}typemockDoerstruct{ErrorerrorWorkerworker}//implmentourDoeriterfacefunc(mdmockDo
对调用多个方法的方法进行单元测试的最佳方法是什么,例如:modify(stringvalue){if(value.Length>5)replaceit(value);elsechangeit(value);}此伪代码有一个修改方法,(当前)调用replaceit()或changeit()。我已经为replaceit和changeit编写了测试,因此为modify编写新测试将是99%的同一组代码。我需要测试它的想法,因为它可能会在未来发生变化。那么我是否复制粘贴现有的测试代码?将测试代码移动到一个通用函数?还有其他想法吗?我不确定此处的最佳做法。 最佳答案
我正在尝试测试的函数接受数据结构,形成一个query_dsl,然后使用形成的查询对Elasticsearch进行/_search调用。因此,我想对形成的query_dsl和url进行断言。我正在使用github.com/jarcoal/httpmock在我的单元测试中模拟net/http请求。根据文档,它公开了funcGetCallCountInfo()map[string]int以验证特定端点被命中的次数。但我也有兴趣知道进行此调用时请求正文是什么。http.Client未公开,因此无法覆盖/模拟它进行测试。如果无法使用此包,那么是否有任何其他库可以模拟网络请求并提供请求主体?
当我运行gotest时,我的输出:---FAIL:TestGETSearchSuccess(0.00s)Location:drivers_api_test.go:283Error:Notequal:200(expected)!=204(actual)---FAIL:TestGETCOSearchSuccess(0.00s)Location:drivers_api_test.go:391Error:Notequal:200(expected)!=204(actual)但是在我再次运行gotest之后,我的所有测试都通过了。仅当我重置我的mysql数据库,然后第一次运行gotest时,测试
在go中,我使用mattn/go-sqlite3模块打开了一个sqlite3数据库。我在使用PRAGMAjournal_mode=WAL打开后立即将数据库日志记录模式设置为WAL。但是,如果我在第一个进程运行时尝试从第二个进程打开数据库,则第二个进程无法打开它,而是收到“数据库已锁定”错误。即使我没有执行任何交易,也会发生这种情况。我使用的连接字符串是:"file:mydbfile.db?cache=shared&mode=rwc"(我打算回答我自己的问题,因为调试了很长时间) 最佳答案 如果你想启用journal_mode=WAL
我几天前开始学习go,我正在尝试使用go和gorm构建一个RESTAPI以实现数据持久化。我正在构建一个电影管理API,并且我有一些配置文件可以将质量和语言关联起来。typeProfilestruct{gorm.ModelThresholdQualityQuality`json:"thresholdQuality"validate:"required"`PreferredLanguageLanguage`json:"preferredLanguage"validate:"required"`}typeLanguagestruct{Languagestring`json:"languag
如何在我的测试中填充os.Stdin以获取使用扫描仪从中读取的函数?我使用以下函数通过扫描器请求用户命令行输入:funcuserInput()error{scanner:=bufio.NewScanner(os.Stdin)println("Whatisyourname?")scanner.Scan()username=scanner.Text()/*...*/}现在如何测试这种情况并模拟用户输入?以下示例不起作用。标准输入仍然是空的。funcTestUserInput(t*testing.T){varfile*os.Filefile.Write([]byte("Tom"))os.St